home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / engrave / engrave_file.h < prev    next >
C/C++ Source or Header  |  2006-01-09  |  3KB  |  84 lines

  1. #ifndef ENGRAVE_FILE_H
  2. #define ENGRAVE_FILE_H
  3.  
  4. /**
  5.  * @file engrave_file.h Engrave_File object functions.
  6.  * @brief Contains all of the functions related to the Engrave file object
  7.  */
  8.  
  9. /**
  10.  * @defgroup Engrave_File Engrave_File: Functions to work with the Engrave file object
  11.  *
  12.  * @{
  13.  */
  14.  
  15. /**
  16.  * The Engrave_File typedef.
  17.  */
  18. typedef struct _Engrave_File Engrave_File;
  19.  
  20. /**
  21.  * Structure to hold the file information.
  22.  */
  23. struct _Engrave_File
  24. {
  25.   char *font_dir;    /**< The font directory */
  26.   char *im_dir;      /**< The image directory */
  27.  
  28.   Evas_List *images; /**< The list of images in the file */
  29.   Evas_List *fonts;  /**< The list of fonts in the file  */
  30.   Evas_List *data;   /**< The list of data items in the file */
  31.   Evas_List *groups; /**< The list of groups in the file */
  32. };
  33.  
  34. Engrave_File *engrave_file_new(void);
  35. void engrave_file_free(Engrave_File *ef);
  36.  
  37. void engrave_file_image_dir_set(Engrave_File *ef, const char *dir);
  38. void engrave_file_font_dir_set(Engrave_File *ef, const char *dir);
  39.  
  40. const char *engrave_file_image_dir_get(Engrave_File *ef);
  41. const char *engrave_file_font_dir_get(Engrave_File *ef);
  42.  
  43. void engrave_file_font_add(Engrave_File *e, Engrave_Font *ef);
  44. void engrave_file_image_add(Engrave_File *ef, Engrave_Image *ei);
  45. void engrave_file_data_add(Engrave_File *ef, Engrave_Data *ed);
  46. void engrave_file_group_add(Engrave_File *ef, Engrave_Group *eg);
  47.  
  48. Engrave_Group *engrave_file_group_last_get(Engrave_File *ef);
  49. Engrave_Group *engrave_file_group_by_name_find(Engrave_File *ef,
  50.                                               const char *name);
  51. Engrave_Font *engrave_file_font_by_name_find(Engrave_File *ef, 
  52.                                                 const char *name);
  53.  
  54. Engrave_Image *engrave_file_image_by_name_find(Engrave_File *ef,
  55.                                               const char *name);
  56.  
  57. int engrave_file_images_count(Engrave_File *ef);
  58. int engrave_file_data_count(Engrave_File *ef);
  59. int engrave_file_groups_count(Engrave_File *ef);
  60. int engrave_file_fonts_count(Engrave_File *ef);
  61.  
  62. void engrave_file_image_foreach(Engrave_File *ef,
  63.                                     void (*func)(Engrave_Image *, void *),
  64.                                     void *data);
  65. void engrave_file_data_foreach(Engrave_File *ef,
  66.                                     void (*func)(Engrave_Data *, void *),
  67.                                     void *data);
  68. void engrave_file_group_foreach(Engrave_File *ef,
  69.                                     void (*func)(Engrave_Group *, void *),
  70.                                     void *data);
  71. void engrave_file_font_foreach(Engrave_File *ef,
  72.                                     void (*func)(Engrave_Font *, void *),
  73.                                     void *data);
  74.  
  75. Engrave_Data *engrave_file_data_by_key_find(Engrave_File *ef, 
  76.                                     const char *key);
  77.  
  78. /**
  79.  * @}
  80.  */
  81.  
  82. #endif
  83.  
  84.